"""
The MIT License (MIT)
Copyright © 2021 Walkline Wang (https://walkline.wang)
Gitee: https://gitee.com/walkline/micropython-new-fontlib
"""

class FontLibHeaderException(Exception):
	pass

class FontLibException(Exception):
	pass

class FontLibHeader(object):
	LENGTH = ...
	SCAN_MODE_HORIZONTAL = BYTE_ORDER_LSB = ...
	SCAN_MODE_VERTICAL = BYTE_ORDER_MSB = ...
	SCAN_MODE = ...
	BYTE_ORDER = ...

	def __init__(self, header_data):
		'''Initialize FontLibHeader'''
		...


class FontLib(object):
	FORMAT = ...
	ASCII_START = ...
	ASCII_END = ...
	GB2312_START = ...
	GB2312_END = ...

	def __init__(self, font_filename):
		'''Initialize FontLib'''
		...

	def __is_ascii(self, char_code):
		'''__is_ascii'''
		...

	def __is_gb2312(self, char_code):
		'''__is_gb2312'''

	def __get_character_unicode_buffer(self, font_file, unicode_set, is_placeholder=False):
		'''__get_character_unicode_buffer'''

	def get_characters(self, characters: str):
		'''
		get_characters
		'''

	@property
	def scan_mode(self):
		'''scan_mode'''

	@property
	def byte_order(self):
		'''byte_order'''

	@property
	def format(self):
		'''format'''

	@property
	def data_size(self):
		'''data_size'''

	@property
	def file_size(self):
		'''file_size'''
	
	@property
	def font_width(self):
		'''font_width'''

	@property
	def font_height(self):
		'''font_height'''

	@property
	def characters(self):
		'''characters'''

	def info(self):
		'''print info'''
